## 7.5. Arithmetic Expressions

The let command performs integer arithmetic. bash provides a way to substitute integer values (for use as command arguments or in variables); base conversion is also possible:

Expression | Meaning
--- | ---
`((` expr`))` | Use the value of the enclosed arithmetic expression.

### 7.5.1. Operators

bash uses arithmetic operators from the C programming language; the following list is in decreasing order of precedence. Use parentheses to override precedence.

Operator | Meaning
--- | ---
- | Unary minus
! ~ | Logical negation; binary inversion (one's complement)
* / % | Multiplication; division; modulus (remainder)
+ - | Addition; subtraction
<< >> | Bitwise left shift; bitwise right shift
<= >= | Less than or equal to; greater than or equal to
< > | Less than; greater than
== != | Equality; inequality (both evaluated left to right)
& | Bitwise AND
^ | Bitwise exclusive OR
| | Bitwise OR
&& | Logical AND
|| | Logical OR
= | Assign value.
+= -= | Reassign after addition/subtraction
*= /= %= | Reassign after multiplication/division/remainder
&= ^= |= | Reassign after bitwise AND/XOR/OR
<<= >>= | Reassign after bitwise shift left/right

### 7.5.2. Examples

See the let built-in command for more information and examples.

>     let "count=0" "i = i + 1"   Assign i and count
>     let "num % 2"               Test for an even number

Copyright © 2001 O'Reilly & Associates. All rights reserved.